<코어 자바스크립트> 책 소개
나는 한 달간 자바스크립트를 통해 과제를 수행하면서, 자바스크립트에 대해 어느정도 대략적인 수준에서 코딩을 할 수 있지만, 좀 더 나아가서 call stack 이나, v8 메모리구조, 클로저, 실행 콘텍스트 등 자바스크립트를 좀 더 세부적으로 알아보기 위해 공부할 책을 찾게 되었다.
자바스크립트의 바이블에 가까울정도로 자바스크립트를 공부할 때 매우 유명한 책이 있다.
이름하야 모던 자바스크립트 Deep Dive
많은 사람들이 추천했고, 네이버 챌린지를 자바스크립트로 진행하면서 많은 캠퍼분들이 추천해준 책이기도하다. 그리고 검색을 해보면 동료들과 이 책으로 스터디를 진행하는 분들도 종종 볼 수 있다.
그만큼이나 유명한 책이지만 나는 고민 끝에, 이 책을 읽는것은 보류하기로 했다.
보류 이유
첫번째로, 가격이 비싸다. 현재 이 책 말고도 사 놓은 책들이 많다.
- Clojure 시작하기
- 리팩토링 2
- 코드 컴플리트 2
- 헤드퍼스트 디자인패턴
- …
나열하다가는 감당하지도 못할거 왜이리 많이 샀냐고 할까봐 더 이상 적지는 않겠지만 놀랍게도 더 있다. 이러한 자금 이슈로 인해 가격이 좀 더 저렴한 책을 찾기 시작했다
두번째로, 양이 너무 많다. (900 페이지 가량, 약 천페이지)
위에서 말했다시피 이미 사놓은 책들이 많고, 물론 그 책들은 남은 대학기간동안, 앞으로 개발 일을 하면서 꼭 읽어야한다고 생각해서 산 것들이기 때문에 급하게 읽지는 않겠지만 그것을 고려한다 하더라도 너무 양이 많다는 생각을 했다.
따라서 가격적인 이슈, 양적인 이슈 로 자바스크립트 딥다이브에서 알짜베기 개념들만 뽑아서 출판한 책을 찾기 시작했다.
그렇게 조건에 맞게 찾고, 평가를 읽어가면서 괜찮다고 해서 산 책이 코어 자바스크립트 이다
선택 이유
첫번째로 가격이 저렴하다
두번째로 양이 200페이지 분량으로 적다. 나는 절대적으로 공부를 할때 중요한점은 반복 학습이라고 생각한다. 하지만 책의 크기가 500페이지만 넘어가도 들고다니는데에는 한계가 있다. 따라서 대체제가 존재한다면 양이나 깊이감이 조금 적고 얕더라도 우선권을 주는 편이다
세번째로 한국인 저자이다. 모던 자바스크립트 딥다이브는 영문판을 번역한 버전이다. 물론 번역수준이 다른 책들의 번역판에 비하면 따로 말나오는 것이 없을정도로 휼륭하지만, 그럼에도 번역판이 제대로 이해가 가지 않는다면 그것은 나의 문제일수도 있지만 번역의 잘못일 가능성도 있다. 따라서 한국인 저자가 이해하고, 어떻게 적어야 내 의도를 잘 전달할 수 있을지 고민한 책이 나에게 더 적합할 것이라고 생각했다.
그리고 기본적으로 언어나 기술을 학습하는데 있어서 기본 소양은 검색 이라고 생각한다. 책에서 설명이 부족하거나, 너무 깊이가 얕다고 생각되면 검색을 통해 그러한 부분들을 충분히 메울 수 있다고 생각한다
이 책의 목차
코어자바스크립트를 통해 학습할 수 있는 키워드는 다음과 같다
- 데이터 타입
- 실행 컨텍스트
- this
- 콜백 함수
- 클로저
- 프로토타입
- 클래스
이 중에 실행 컨텍스트와 클로저가 가장 기대된다
최근에 함수형 프로그래밍을 알게되면서 문득 이런생각을 한적이 있다
팩토리얼과 같은 재귀함수를 돌면서 같은 연산을 반복적으로 하는 경우 **메모이제이션, 죽 다이나믹 프로그래밍**을 통해 반복적인 연산들을 줄이는데 이 경우 **C나 C++의 경우에는 전역변수를 할당**하여 그 변수에다가 캐싱을 한다
하지만 이것은 **함수형 프로그래밍**에 따르면 **부수효과이기 때문에 지양**해야 한다
근데 **그러면 함수형 언어에서는 어떻게 메모이제이션을 활용하지???** 그리고 자바스크립트에서 이 규칙을 따르려면 어떻게 해야하지?? 하는 고민을 했는데
함수형 언어의 경우 별도의 **함수 내부에서만 접근 가능한 공간**을 할당하여 캐싱을 한다고하고, 이것을 **클로저를 활용하여 구현** 할수 있다고 한다리뷰 방향
먼저 책을 소주제 단위로 읽고, 이해하고, 공부 및 적용을 해본다음 이해한 내용들을 바탕으로, 책을 활용하여 리뷰를 작성한다
절대 책을 처음부터 읽으면서 하나하나씩 리뷰로 적고, 그런 시간 아까운 짓 하지 말것! 선 독서, 후 이해 및 공부 및 적용, 최후 리뷰 작성
이하 지은이의 말을 인용하면서 코어자바스크립트 책리뷰 및 학습 서론을 마친다
필자는 말한다
"ES5부터 접한 사람이건, ES6부터 접한 사람이건, 초급 딱지를 떼고 중급 개발자로 넘어가기 위해서는 **자바스크립트의 핵심 개념들을 정확히 이해 것이 중요하다**는 것입니다
이 책은 이 같은 문제의식을 바탕으로 자바스크립트를 관통하는 이론을 파악함으로써 전반적인 기본기를 다잡기 위한 목적으로 집필 했습니다."집필 방향
- ES5 이하의 이론 중에서 ES6에서도 여전히 중요한 핵심 개념을 위주로 다룹니다. 불필요하거나 조금만 검색해도 쉽게 이해할 수 있는 내용은 과감히 생략했습니다.
- 테크닉이나 요령보다는 원리 이해를 목적으로 합니다.
- 어떤 개념에 대해 ES6에서 대체 가능한 기능이나 방안이 생긴 경우 이에 대해서도 간략히 소개하고자 했습니다.
“자바스크립트 입문자가 학습하기에는 분명 난이도가 있지만, 그럼에도 중급자로 발돋움하기 위해 반드시 알아야 하는 핵심 내용을 다룹니다. 비록 이 책이 자바스크립트의 모든 것을 다루지는 않지만 이 책이 다루지 않는 기술들을 더욱 쉽게 소화할 수 있도록 기초 체력을 다지는 데는 휼륭한 가이드가 될 것이라 생각합니다”
지은이: 정재남
